// #include <iostream>
// #include <vector>

// using namespace std;

// string s;
// int main()
// {
//     cin >> s;
//     s = '?' + s;
//     int n = s.size();
//     vector<int>dp(n + 1);
//     for(int i = 2;i <= n;i ++)
//     {
//         if(s[i - 1] == '?' || s[i] == '?' || s[i] == s[i - 1])
//         {
//             dp[i] = dp[i-2] + 1;
//         }
//         else dp[i] = dp[i-1];
//     }
//     cout << dp[n] << endl;
//     return 0;
// }
#include <iostream>
#include <algorithm>

using namespace std;

int main()
{
    string s; cin >> s;
    int res = 0;
    for(int i = 0;i + 1 < s.size();i ++)
    {
        if(s[i] == s[i + 1] || s[i] == '?' || s[i + 1] == '?')
        {
            res ++;
            i ++;
        }
    }
    cout << res << endl;
    return 0;
}